package com.company.kt

import org.jetbrains.annotations.TestOnly

fun main(args: Array<String>) {
    System.err.println("begin");
    var m = Main();
    var sum = m.add(1, 2);
    System.err.println("sum==$sum")
    var sum3: Float = m.add(1.1f, 2.2f);
    System.err.println("sum3==$sum3")
    System.err.println("sum==${m.add(1.1f, 2.2f)}")
    wheen(2)
    wheen('A')
    wheen("other")

//    forr(1, 10)
    forr()
}

fun wheen(obj: Any) {
    when (obj) {
        2 -> System.err.println("$obj ==2")
        in 1..10 -> System.err.println("$obj in 1-10")
        is Char -> System.err.println("$obj is a char")
        else -> System.err.println("$obj else  default case ")
    }
}

fun forr(a: Int, b: Int) {
    for (i in 1..10) {
        System.err.println(i)
    }
}

fun forr() {
    val intArray = intArrayOf(11, 12, 13, 14, 15)
    intArray.forEach { System.err.println(it) }
    // forEach () 传入的参数是匿名函数 fun(a:Int)
    intArray.forEach(
        fun(a: Int) {
            if (a == 12) return;
            System.err.println(a);
        }

    )
    // foreach 遍历
    for (item in intArray) {
        System.err.println(item)
    }
    // index 索引遍历
    for (i in intArray.indices) {
        System.err.println("indices:index==$i,value==${intArray[i]}")
    }
    // 键值对遍历
    for ((index, value) in intArray.withIndex()) {
        System.err.println("withIndex:index=$index,value=$value")
    }
}

class Main {
    fun add(a: Int, b: Int): Int {
        return a + b;
    }

    fun add(a: Float, b: Float): Float {
        return a + b + 0.0f;
    }


}

fun forr(a: Int) {
    (1..a).forEach { System.out.println(it) }
}

